package com.zrwl.poscloud.xo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zrwl.poscloud.base.entity.EmployeeAccountRecord;
import com.zrwl.poscloud.base.superI.SuperService;
import com.zrwl.poscloud.xo.vo.*;

import java.util.List;

/**
 * 账户业务表 服务类
 *
 * @author 刘思童 AutoGenerate
 * @date 2021-10-20
 */
public interface EmployeeAccountRecordService extends SuperService<EmployeeAccountRecord> {

    public IPage<EmployeeAccountRecordVO> getPageList(EmployeeAccountRecordVO employeeAccountRecordVO);

    public List<EmployeeAccountRecord> getAllList(EmployeeAccountRecordVO employeeAccountRecordVO);

    public String add(EmployeeAccountRecordVO employeeAccountRecordVO);

    public String edit(EmployeeAccountRecordVO employeeAccountRecordVO);

    public String delete(EmployeeAccountRecordVO employeeAccountRecordVO);


    /**
     * 新增账户业务办理
     */
    public void createAccount(EmployeeAccountRecordVO employeeAccountRecordVO,AdminVO adminVO);
    /***
     * 修改账户
     * @param employeeAccountRecordVO
     */
    public void editAccount(EmployeeAccountRecordVO employeeAccountRecordVO,AdminVO adminVO);
    /***
     * 离开账户
     * @param employeeAccountRecordVO
     * @param adminVO
     */
    public void leaveAccount(EmployeeAccountRecordVO employeeAccountRecordVO, AdminVO adminVO);
    /**
     * 员工转帐户记录
     *
     * @param employeeVO
     * @return
     */
    public EmployeeAccountRecordVO employeeVOShiftEmployeeAccountRecordVO(EmployeeAccountRecordVO employeeAccountRecordVO, EmployeeVO employeeVO) ;

    /***
     * 创建账户日志以及卡日志
     * @param employeeAccountLogVO
     * @param employeeAccountVO
     * @param cardLogBusinessType
     */
    void createAccountLogAndCardLog(EmployeeAccountLogVO employeeAccountLogVO, EmployeeAccountVO employeeAccountVO, int cardLogBusinessType, String deptName);
}
